﻿Imports BusinessLogicLayer
Imports BE = BusinessEntities
Imports System.Data


Partial Class NuevoProyecto
    Inherits System.Web.UI.Page
    Dim proy As New ProyectoBL

    Dim str_error As String
    Dim str_mensaje As String
    Public Shared str_modo As String
    Public Shared str_cliente As String

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If Not Page.IsPostBack Then
            Dim lista As DataTable = proy.getDepartamentos.Tables("depastamentos")

            With ddlDepart
                .Items.Add("-Seleccione-")
                .DataSource = proy.getDepartamentos
                .DataTextField = "NOM_DEP"
                .DataValueField = "COD_DEP"
                .DataBind()
            End With

            With ddpEtapa
                .Items.Add("-Seleccione-")
                .DataSource = proy.getEtapas
                .DataTextField = "NOM_ETA_PRY"
                .DataValueField = "COD_ETA_PRY"
                .DataBind()
            End With

            With ddpEstado
                .Items.Add("-Seleccione-")
                .DataSource = proy.getEstado
                .DataTextField = "NOM_EST_PRY"
                .DataValueField = "COD_EST_PRY"
                .DataBind()
            End With

            ddlProvin.Enabled = False
            ddlDistr.Enabled = False

        End If

    End Sub

    Protected Sub txtProcesar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtProcesar.Click

        Dim capanegocios As New ProyectoBL
        Dim objeto As New BE.ProyectoDTO
        Dim SaveLocation As String = ""
        Static rutaFile As String = "Files_Proyectos\"
        Dim fn As String = ""
        Dim fileExte As String

        fileExte = System.IO.Path.GetExtension(file1.FileName)

        Try

            If file1.HasFile And fileExte = ".PDF" Then
                fn = System.IO.Path.GetFileName(file1.PostedFile.FileName)
                SaveLocation = Server.MapPath("Files_Proyectos") & "\" & fn
                file1.PostedFile.SaveAs(SaveLocation)
            Else
                str_mensaje = "Formato del documento debe ser .PDF"
                mensaje(str_mensaje)
                Return
            End If

            'Llenamos las propiedades de la entidad ClienteBE
            objeto.NombreProyecto = txtnombre.Text
            objeto.CodDepartamento = ddlDepart.SelectedValue
            objeto.CodProvincia = ddlProvin.SelectedValue
            objeto.CodDistrito = ddlDistr.SelectedValue

            objeto.CostoProyecto = txtCosto.Text
            objeto.TiempoProyecto = txtDuracion.Text
            objeto.ObservacionProyecto = txtObservacion.Text
            objeto.PlanProyecto = rutaFile + fn
            'objeto.PlanProyecto = file1.PostedFile.FileName.ToString

            objeto.CodigoEtapaProyecto = ddpEtapa.Text
            objeto.CodigoProyectoEstado = ddpEstado.Text

            If capanegocios.InsertarProyecto(objeto) = True Then

                str_mensaje = "Proyecto registrado con éxito"
                mensaje(str_mensaje)
            Else
                str_mensaje = "No se registró al Proyecto \n " + capanegocios.CapturaError
                mensaje(str_mensaje)
            End If

        Catch ex As Exception
            str_error = capanegocios.CapturaError
            Response.Redirect("Errores.aspx?id=" & str_error)
        Finally
            capanegocios = Nothing
            objeto = Nothing
        End Try

        Response.Redirect("modificarproyecto.aspx")

    End Sub

    Protected Sub ddlDepart_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlDepart.SelectedIndexChanged
        With ddlProvin
            .Items.Add("-Seleccione-")
            .DataSource = proy.getProvincias(ddlDepart.SelectedValue)
            .DataTextField = "nom_prov"
            .DataValueField = "cod_prov"
            .DataBind()
        End With
        ddlProvin.Enabled = True
        ddlDistr.Enabled = False

    End Sub

    Protected Sub ddlProvin_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlProvin.SelectedIndexChanged

        Dim capanegocios As New ProyectoBL

        Try
            With ddlDistr
                .Items.Add("-Seleccione-")
                .DataSource = proy.getDistritos(ddlProvin.SelectedValue)
                .DataTextField = "nom_dist"
                .DataValueField = "cod_dist"
                .DataBind()
            End With
        Catch ex As Exception
            str_error = capanegocios.CapturaError
            Response.Redirect("Errores.aspx?id=" & str_error)
        End Try
        ddlDistr.Enabled = True
    End Sub

    Sub mensaje(ByVal msg As String)
        Dim script As String = "<script language=Javascript>"
        script += "alert('" & str_mensaje & "');"
        script += "</script>"
        Page.ClientScript.RegisterStartupScript(Me.GetType(), "script", script)

    End Sub

End Class
